# Dataset 是 PyTorch 中的一个抽象类，用于表示数据集的基类。
# 在自定义数据集时，通常需要继承 Dataset 类，并重写其中的方法，以适配自己的数据格式和读取逻辑。
# 通过使用 Dataset 类，你可以将自定义的数据集封装成一个可迭代对象，方便在模型训练过程中进行数据的加载和预处理。
# Dataset 类提供了以下一些重要的方法和属性：
# __len__() 方法：返回数据集的大小，即样本的数量。
# __getitem__(index) 方法：通过索引 index 获取数据集中的单个样本。
# transforms 属性：用于定义数据预处理的操作，可以使用 torchvision.transforms 中的函数或自定义的变换函数。

from torch.utils.data import Dataset

class MyDataset(Dataset):
    def __init__(self, data):
        self.data = data

    def __len__(self):
        return len(self.data)

    def __getitem__(self, index):
        sample = self.data[index]
        # 在此处可以进行数据预处理等操作
        return sample

# 通过自定义的 MyDataset 类，你可以方便地封装自己的数据集，并且在模型训练中使用 torch.utils.data 提供的数据加载器（如 DataLoader）进行批量数据的加载和处理。